這篇想和大家介紹一下PHP的陣列有哪些宣告方式,還有該如何印出它
會想分享是因為,我當初在學這裡的時候,覺得有點難理解
因為它的宣告方式不像java和C那麼的直覺
那我們就先來介紹宣告方法,再介紹印出方法,兩者都各有「三種方法」能使用
宣告方法一:
[]的地方為key,可以用「數字」或「名字(要記得用雙引號)」去宣告
讓我們看以下範例
PHP:
//方法一:$array[key]=value;
echo "宣告方法一:<br>";
echo "這是name陣列的內容<br>";
$name[0] = "Tom";
$name[1] = "Amy";
$name[2] = "Eason";
$name[3] = "Joker";
echo $name[1]."<br>";
echo $name[3]."<br><br>";
echo "這是weight陣列的內容<br>";
$weight["Tom"] = 60;
$weight["Amy"] = 50;
$weight["Eason"] = 65;
$weight["Joker"] = 100;
echo $weight["Amy"]."<br>";
echo $weight["Joker"]."<br><br>";
結果如下圖所示:
宣告方法二:
你也可以只宣告value,這樣它的key值會自動從0開始
讓我們看以下範例
PHP:
//$變數名稱 = array("第1個value", "第2個value", "第3個value");
$name = array("Tom", "Amy", "Eason", "Joker");
$weight = array("60", "50", "65", "100");
echo "宣告方法二:<br>";
echo "這是name陣列的內容<br>";
echo $name[0]."<br>";
echo $name[1]."<br>";
echo $name[2]."<br>";
echo $name[3]."<br><br>";
echo "這是weight陣列的內容<br>";
echo $weight[0]."<br>";
echo $weight[1]."<br>";
echo $weight[2]."<br>";
echo $weight[3]."<br><br>";
結果如下圖所示:
宣告方法三:
如果想同時宣告key和value,可以用”key”=>”value”
,表示「某key值指向某value」
讓我們看以下範例
PHP:
//$變數名稱 = array("第1個key值" => "第1個value", "第2個key值" => "第2個value", "第3個key值" => "第3個value");
$selfKey = array("Tom"=>"60", "Amy"=>"50", "Eason"=>"65", "Joker"=>"100");
echo "宣告方法三:<br>";
echo "自訂key的測試<br>";
echo $selfKey['Amy']."<br>";
echo $selfKey['Eason'];
結果如下圖所示:
介紹完宣告的方法,換介紹印出的方法
印出方法一: foreach
foreach本質上和for迴圈一樣,所以可以把該陣列所有$key
和$value
都印出來
這裡我們用宣告方法三的$selfKey
去示範,()內的順序為$陣列名稱 as $key => $value
,而這裡的$key和$value可以「任意命名」,不一定只能命名成$key和$value
讓我們看以下範例
PHP:
$selfKey = array("Tom"=>"60", "Amy"=>"50", "Eason"=>"65", "Joker"=>"100");
echo "印出方法一:<br>";
//foreach($陣列名稱 as $key => $value) {
//}
echo "用foreach印出陣列<br>";
foreach($selfKey as $key_name => $value_weight) {
echo "姓名:$key_name, 體重為:$value_weight<br>";
}
結果如下圖所示:
印出方法二: print_r
print_r可以將整個陣列印出,但如果在後面加上true
,則該行陣列不會印出
這裡我們用宣告方法三的$selfKey
和宣告方法一的$name
和$weight
示範
讓我們看以下範例
PHP:
echo "印出方法二:<br>";
//print_r($陣列名稱, boolean);
echo "用print_r印出陣列<br>";
print_r($name);
print_r($selfKey, true); // 此行不會印出
echo "<br>";
print_r($weight).”<br><br>";
結果如下圖所示:
印出方法三: 用print_r+echo
續印出方法二,若把print_r($陣列名稱, true);
先存在某個「變數」裡
再用echo
的方式印出,就印的出來囉!
因為它已經存在變數裡了,所以不會有印不出來的問題
讓我們看以下範例
PHP:
echo "印出方法三:<br>";
echo "用print_r+echo印出陣列<br>";
$result = print_r($selfKey, true);
echo $result.”<br><br>";
結果如下圖所示:
如果沒加上true,則會在後面多出一個1
以上就是陣列常用的宣告方式和印出方法
希望大家看完能更加了解